#ifndef __BSP_RTC_H_
#define __BSP_RTC_H_

#ifdef __cplusplus
extern "C"
{
#endif


#include "system.h"


typedef struct 
{
    uint8_t year;       // 0-99
    uint8_t month;      // 1-12
    uint8_t date;       // 1-31
    uint8_t day;        // 0-6, Sunday-Saturday
    uint8_t hour;       // 0-23
    uint8_t min;        // 0-59
    uint8_t sec;        // 0-59
} _bsp_rtc_time_t;


/* export func */

void bsp_rtc_init(void);

int bsp_rtc_get_time(_bsp_rtc_time_t *obj);
int bsp_rtc_set_time(_bsp_rtc_time_t *obj);

void bsp_rtc_bkr_write(uint32_t reg, uint32_t data);
uint32_t bsp_rtc_bkr_read(uint32_t reg);

#ifdef __cplusplus
}
#endif

#endif // __BSP_RTC_H_
